﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Admin_ThongTinBe : System.Web.UI.Page
{
    TiemPhongDataContext db = new TiemPhongDataContext();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            loadDataListView();
        }
    }
    protected void btnThem_Click1(object sender, EventArgs e)
    {
        try
        {
            // khởi tạo đối tượng Vacxin mới tt
            ThongTinBe tt = new ThongTinBe();
            // gán các giá trị cần thêm vào
            tt.MaBe = txtMaBe.Text;
            tt.TenBe = txtTenBe.Text;
            tt.GioiTinh = rbtnGioiTinh.Text;
            tt.NgaySinh = Convert.ToDateTime(txtNgaySinh.Text);
            tt.TenBoMe = txtTenBoMe.Text;
            tt.CMT = txtCMT.Text;
            tt.DiaChi = txtDiaChi.Text;
            tt.SDTBoMe = txtSoDienThoai.Text;
            db.ThongTinBes.InsertOnSubmit(tt);
            db.SubmitChanges();
            // load lại listView
            loadDataListView();
            ClearControl();
            // hiện thông báo
            messageKetQua.Enabled = true;
            messageKetQua.Text = "Thêm mới thành công !";
        }
        catch (Exception m)
        {
            messageKetQua.Enabled = true;
            messageKetQua.Text = "Lỗi thêm mới: " + m.Message;
        }
    }
    // loadDataListView()
    protected void loadDataListView()
    {
        var l = db.ThongTinBes.ToList();
        this.ListViewThongTinBe.DataSource = l;
        this.ListViewThongTinBe.DataBind();
        txtMaBe.Enabled = false;
        txtMaBe.Text = loadMaBe();
    }
    // tinh toan MaBe
    protected string loadMaBe()
    {
        string cID = "";
        var selectID = (from u in db.ThongTinBes select u.MaBe).Count() + 1;
        cID = selectID.ToString();
        cID = "TTB" + cID;
        return cID;
    }
    // set lại text box
    protected void ClearControl()
    {
        
        txtTenBe.Text = string.Empty;
        txtNgaySinh.Text = string.Empty;
        rbtnGioiTinh.Text = "Nam";
        txtTenBoMe.Text = string.Empty;
        txtSoDienThoai.Text = string.Empty;
        txtCMT.Text = string.Empty;
        txtDiaChi.Text = string.Empty;
    }

    // hàm tải dữ liệu lên form sửa
    protected void ListViewThongTinBe_OnItemCommand(object sender, ListViewCommandEventArgs e)
    {
        // khai bao bien lay maBe
        var _maBe = e.CommandArgument.ToString();
        if (e.CommandName == "Delete")
        {
            var deleteTTB = db.ThongTinBes.FirstOrDefault(c => c.MaBe.Equals(_maBe));
            db.ThongTinBes.DeleteOnSubmit(deleteTTB);
            db.SubmitChanges();
            // thong bao
            messageKetQua.Enabled = true;
            messageKetQua.Text = "Xoa thanh cong";
            // tai lai list
            loadDataListView();
            ClearControl();
        }
        if (e.CommandName == "Update")
        {
            var updateTTB = db.ThongTinBes.FirstOrDefault(c => c.MaBe.Equals(_maBe));
            btnSua.Enabled = true;
            btnThem.Enabled = false;
            txtMaBe.Text = updateTTB.MaBe;
            txtTenBe.Text = updateTTB.TenBe;
            txtNgaySinh.Text = updateTTB.NgaySinh.HasValue ? Convert.ToDateTime(updateTTB.NgaySinh).ToString("d") : string.Empty;
            rbtnGioiTinh.Text= updateTTB.GioiTinh;
            txtTenBoMe.Text = updateTTB.TenBoMe;
            txtSoDienThoai.Text = updateTTB.SDTBoMe;
            txtCMT.Text = updateTTB.CMT;
            txtDiaChi.Text = updateTTB.DiaChi;
        }
    }
    protected void ListViewThongTinBe_OnItemDeleting(object sender, ListViewDeleteEventArgs e) { }
    protected void ListViewThongTinBe_OnItemUpdating(object sender, ListViewUpdateEventArgs e) { }
    protected void btnThem_Click(object sender, EventArgs e)
    {
        try
        {
            ThongTinBe ttb = new ThongTinBe();
            ttb.MaBe = txtMaBe.Text;
            ttb.TenBe = txtTenBe.Text;
            //ttb.NgaySinh = DateTime.ParseExact(this.txtNgaySinh.Text,"dd/MM/yy",null);
            ttb.NgaySinh = Convert.ToDateTime(txtNgaySinh.Text);
            ttb.GioiTinh = rbtnGioiTinh.SelectedItem.ToString() ;
            ttb.TenBoMe = txtTenBoMe.Text;
            ttb.SDTBoMe = txtSoDienThoai.Text;
            ttb.CMT = txtCMT.Text;
            ttb.DiaChi = txtDiaChi.Text;
            // thuc hien cau lenh
            db.ThongTinBes.InsertOnSubmit(ttb);
            db.SubmitChanges();
            // thông báo
            messageKetQua.Enabled = true;
            messageKetQua.Text = "Thêm thành công";
            // tải lại listView
            loadDataListView();
            ClearControl();
        }
        catch (Exception ex)
        {
            messageKetQua.Enabled = true;
            messageKetQua.Text = "Lỗi thêm mới" + ex.Message;
        }
    }
    protected void btnSua_Click(object sender, EventArgs e)
    {
        try
        {

            var result = db.ThongTinBes.Where(v => v.MaBe == txtMaBe.Text).SingleOrDefault();
            if (result != null)
            {
                result.TenBe = txtTenBe.Text;
                result.NgaySinh = Convert.ToDateTime(txtNgaySinh.Text);
                result.TenBoMe = txtTenBoMe.Text;
                result.GioiTinh = rbtnGioiTinh.SelectedItem.ToString();
                result.CMT = txtCMT.Text;
                result.SDTBoMe = txtSoDienThoai.Text;
                result.DiaChi = txtDiaChi.Text;
                
                db.SubmitChanges();
                
            }
            // load lại listView
            loadDataListView();
            ClearControl();
            // hiện thông báo
            messageKetQua.Enabled = true;
            btnThem.Enabled = true;
            btnSua.Enabled = false;
            messageKetQua.Text = "Sửa thông tin thành công !";
        }
        catch (Exception m)
        {
            messageKetQua.Enabled = true;
            messageKetQua.Text = "Sửa thông tin lỗi: " + m.Message;
        }
    }
}